class FrameSet {
		static const int LOSETIME = 10; // time in s before active user is lost
	public:
		Frame head;
		Frame neck;
		Frame torso;
		Frame left_shoulder;
		Frame left_elbow;
		Frame left_hand;
		Frame right_shoulder;
		Frame right_elbow;
		Frame right_hand;
		Frame left_hip;
		Frame left_knee;
		Frame left_foot;
		Frame right_hip;
		Frame right_knee;
		Frame right_foot;
		int activeUserID;
		vector<int> lastUserActionTime;
		
		void updateActiveUser(int ID, int time) {
			lastUserActionTime[ID - 1] = time;
			if(lastUserActionTime[activeUserID - 1] + LOSETIME < time) {
				for(size_t i = 0; i < lastUserActionTime.size(); i++) {
					if(lastUserActionTime[i] > lastUserActionTime[activeUserID -1]) activeUserID = i + 1;
				}
			}
		}
		
		FrameSet() {
			activeUserID = 1;
			lastUserActionTime = vector<int>(20, 0); // 20 user slots should be sufficient
		}
		
};
